1. Field of the Invention
The present invention generally relates to duplex communications and, more particularly, to echo cancellation.
2. Background of the Invention
During a duplex communication session, for instance between two telephones, acoustic echo arises when output audio signals generated by a first device's loudspeaker are detected by the device's microphone. If not addressed, the acoustic echo will be communicated back to a second device that was the original source of the audio signal, which is undesirable.
Echo cancellers using non-linear processing techniques oftentimes are used to reduce acoustic echo. Such echo cancellers typically include a double talk (DBTK) detector. The DBTK detector detects audio signals from both devices, and outputs a signal to indicate which of the devices are currently generating source audio. When the DBTK detector detects that a single device is generating source audio, the non-linear processing attenuates audio signals from the other device that is not the original audio source, thereby significantly reducing any acoustic echo that may be generated. If the DBTK detector detects that both devices are simultaneously generating source audio, the non-linear processing applies less attenuation to the audio signals so as to maintain full duplex communication, although more echo may be present in comparison to when a single device is generating source audio.
Unfortunately, DBTK detectors are not perfect at identifying which of the devices are generating source audio. Consequently, an improper level of attenuation is sometimes applied. For instance, if a single device is generating source audio, but the DBTK detector indicates that both devices are doing so, the device generating the source audio will receive more echo than it otherwise would if the DBTK detection were more accurate. Similarly, if both devices are generating source audio, but the DBTK detector indicates that only one of the devices is doing so, a high level of attenuation will be applied to the source audio from the other device, essentially muting the audio from that device.